1592A - Gamer Hemose - CodeForces Solution


binary search greedy math sortings *800

Please click on ads to support us..

Python Code:

from sys import stdin
input = stdin.readline
for _ in range(int(input())):
    n, H = map(int, input().split())
    a = sorted([int(x) for x in input().split()])

    if H % (a[-1] + a[-2]) == 0:
        print(H // (a[-1] + a[-2]) * 2)
    elif H % (a[-1] + a[-2]) <= a[-1]:
        print(H // (a[-1] + a[-2]) * 2 + 1)
    else:
        print(H // (a[-1] + a[-2]) * 2 + 2)

C++ Code:

#include <bits/stdc++.h>
using namespace std;
void LeS_Go() {
	long long n, H; cin >> n >> H;
	vector<long long> arr(n);
	for (int i = 0; i < n; i++) {
		cin >> arr[i];
	}
	sort(arr.rbegin(), arr.rend());
	long long x = arr[0], y = arr[1];
	if (H % (x + y) == 0) {
		cout << 2 * (H / (x + y)) << '\n';
	} else if (H % (x + y) <= x) {
		cout << 2 * (H / (x + y)) + 1 << '\n';
	} else {
		cout << 2 * (H / (x + y)) + 2 << '\n';
	}
}
int32_t main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	int t; cin >> t;
	int caase = 1;
	while (t--) {
		// cout << "Case " << caase++ << ": ";
		LeS_Go();
	}
	return 0;
}


Comments

Submit
0 Comments
More Questions

1302. Deepest Leaves Sum
1209. Remove All Adjacent Duplicates in String II
994. Rotting Oranges
983. Minimum Cost For Tickets
973. K Closest Points to Origin
969. Pancake Sorting
967. Numbers With Same Consecutive Differences
957. Prison Cells After N Days
946. Validate Stack Sequences
921. Minimum Add to Make Parentheses Valid
881. Boats to Save People
497. Random Point in Non-overlapping Rectangles
528. Random Pick with Weight
470. Implement Rand10() Using Rand7()
866. Prime Palindrome
1516A - Tit for Tat
622. Design Circular Queue
814. Binary Tree Pruning
791. Custom Sort String
787. Cheapest Flights Within K Stops
779. K-th Symbol in Grammar
701. Insert into a Binary Search Tree
429. N-ary Tree Level Order Traversal
739. Daily Temperatures
647. Palindromic Substrings
583. Delete Operation for Two Strings
518. Coin Change 2
516. Longest Palindromic Subsequence
468. Validate IP Address
450. Delete Node in a BST